package com.sh.business.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sh.business.domain.UserWithdrawal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.sh.common.excel.annotation.ExcelDictFormat;
import com.sh.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 用户提现记录视图对象 bms_user_withdrawal
 *
 * @author ruoyi
 * @date 2024-10-08
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = UserWithdrawal.class)
public class UserWithdrawalVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private Long userId;

    /**
     * 是否新用户
     */
    private Boolean isNew;

    /**
     * 类型（2、usdt 3、aleo）
     */
    @ExcelProperty(value = "类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "2=、usdt,3=、aleo")
    private Integer type;

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号")
    private String orderSn;

    /**
     * 提现金额
     */
    @ExcelProperty(value = "提现金额")
    private BigDecimal amount;

    /**
     * 手续费
     */
    @ExcelProperty(value = "手续费")
    private BigDecimal feeAmount;

    /**
     * 实际到账金额
     */
    @ExcelProperty(value = "实际到账金额")
    private BigDecimal actualAmount;

    /**
     * hash
     */
    @ExcelProperty(value = "hash")
    private String txHash;

    /**
     * 状态（1：待审核 2：待确认 3: 已到账 4: 未到账 5: 审核拒绝）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "biz_audit_status")
    private Integer status;

    /**
     * 时间
     */
    @ExcelProperty(value = "时间")
    private Date transferTime;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String fromAddress;

    /**
     * 数据
     */
    @ExcelProperty(value = "数据")
    private String notifyData;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 标签
     */
    private String mark;

    private Date createTime;
}
